home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / cpphtp2 / code.jar / code / ch21 / fig21_06.txt < prev    next >
Text File  |  1998-02-27  |  850b  |  37 lines

  1. 1   // Fig. 21.6: fig21_06.cpp
  2. 2   // Demonstrating RTTI capability typeid.
  3. 3   #include <iostream.h>
  4. 4   #include <typeinfo.h>
  5. 5   
  6. 6   template < typename T >
  7. 7   T maximum( T value1, T value2, T value3 )
  8. 8   {
  9. 9      T max = value1;
  10. 10  
  11. 11     if ( value2 > max )
  12. 12        max = value2;
  13. 13  
  14. 14     if ( value3 > max )
  15. 15        max = value3;
  16. 16  
  17. 17     // get the name of the type (i.e., int or double)
  18. 18     const char *dataType = typeid( T ).name();
  19. 19  
  20. 20     cout << dataType << "s were compared.\nLargest "
  21. 21          << dataType << " is ";
  22. 22  
  23. 23     return max;
  24. 24  }
  25. 25  
  26. 26  int main()
  27. 27  {
  28. 28     int a = 8, b = 88, c = 22;
  29. 29     double d = 95.96, e = 78.59, f = 83.89;
  30. 30  
  31. 31     cout << maximum( a, b, c ) << "\n";
  32. 32     cout << maximum( d, e, f ) << endl;
  33. 33  
  34. 34     return 0;
  35. 35  }
  36. }
  37.